package com.wang.learn.common.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 类描述：需要校验合法性的数据，比如说身份证号与手机号等
 *
 * @author Charles
 * @time 2021/10/9 10:50
 */
@Deprecated
public class Validations {

    //手机号正则表达式
    private static final String PHONE_NO_REGEX = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$";
    //邮箱的正则表达式
    private static final String EMAIL_REGEX = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
    //用户名正则
    private static final String USERNAME_REGX="^[a-zA-Z0-9_-]{6,16}$";
    /**
     * 校验手机号
     */
    public static boolean isPhoneNo(String str){
        return Regular(str,PHONE_NO_REGEX);
    }

    /**
     * 校验邮箱
     * @param str
     * @return
     */
    public static boolean isEmail(String str){return Regular(str,EMAIL_REGEX);}

    /**
     * 校验用户名
     * 数字|大小写字|_|-（6-16）位；来表示用户名
     * @param str 用户名
     * @return true or false
     */
    public static boolean isUsername(String str){return Regular(str,USERNAME_REGX);}

    /**
     * 根据正则表达式校验数据是否正确
     * @param cs
     * @param pattern
     * @return
     */
    private static boolean Regular(CharSequence cs,String pattern){
        //如果是空白字符串返回false
        if (Inspections.isBlank(cs))
            return false;
        //校验是否符合正则表达式
        Pattern compile = Pattern.compile(pattern);
        Matcher matcher = compile.matcher(cs);
        return matcher.matches();
    }

//    public static void main(String[] args) {
//        String s = "Wangcunzhi";
//        boolean username = isUsername(s);
//        System.out.println(username);
//    }
}
